Biometric recognition

ABSTRACT

A method for biometric identification for use with a computing device is provided herein. The method includes capturing a temporal sequence of images of the face of a user at different locations within a three-dimensional interaction space. The method further includes extracting one or more face descriptors from the images and generating a biometric template compiling the face descriptors.

BACKGROUND

Computer gaming systems have evolved to increase user interaction andprovide a more active gaming experience. As such, gaming has become amore social activity bringing multiple players together. The excitementthat several players may exude while playing a game may entice more tojoin in on the fun. One prior approach to allowing new players to join agame involves pausing or restarting the game in order to add anothergame player. The new player typically signs in by typing a player nameand password into the computer gaming system, for example, using anonscreen keyboard manipulated by a game controller. However, pausing orrestarting and typing in such information interrupts the flow of thegame, which is undesirable to those players that are already involved inthe game play. Further, in computer gaming systems that utilize naturaluser input via body movements, the players may not handle controllers tooperate such onscreen keyboards, which might make onscreen input timeconsuming or difficult.

The general idea of using biometric identification for access to agaming system has been proposed; however, in practice many challengesexist to the adoption of such techniques. For example, one seriousdrawback of current face recognition techniques is that they aresensitive to ambient lighting conditions, resulting in high error ratesin variable and unpredictable lighting conditions. This frustrates theadoption of such biometric identification techniques for gaming systemsthat are used in home environments, for example, due to the highlyvariable lighting conditions found inside such environments.

SUMMARY

A method for biometric identification for use with a computing device isprovided herein. The method includes capturing a temporal sequence ofimages of the face of a user at different locations within athree-dimensional interaction space. The method further includesextracting one or more face descriptors from the images and generating abiometric template compiling the face descriptors.

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter. Furthermore,the claimed subject matter is not limited to implementations that solveany or all disadvantages noted in any part of this disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a perspective view showing an example three-dimensionalreal-world user interaction space (“3D interaction space”) of a gamingsystem according to one embodiment.

FIG. 2 is a time lapse view of three successive screen images from agraphical user interface displayed on a display of the gaming system ofFIG. 1, showing an example onscreen virtual interaction space (“virtualspace”) for instructing a user to move within the 3D interaction spaceof FIG. 1.

FIG. 3 is a perspective view showing a user moving within 3D interactionspace of FIG. 1, according to the instructions given in the virtualspace of FIG. 2.

FIG. 4 is another time lapse view of three successive screen images fromthe graphical user interface displayed on the display of the gamingsystem of FIG. 1, showing another example virtual space for instructinga user to move within the 3D interaction space of FIG. 1.

FIG. 5 is a perspective view showing a user moving within 3D interactionspace of FIG. 1, according to the instructions given in the virtualspace of FIG. 4.

FIG. 6 is another example virtual space displayed on the display of thegaming system of FIG. 1, for instructing a user to move within the 3Dinteraction space of FIG. 1.

FIG. 7 is a flowchart that illustrates an example embodiment of a methodfor registering a user with a biometric identification account.

FIG. 8 is a flowchart that illustrates an example embodiment of a methodfor identifying a user with an established biometric identificationaccount.

FIG. 9 is a flow chart that illustrates an example embodiment of amethod for associating a user with a computing device.

FIG. 10 is a flow chart that illustrates another example embodiment of amethod for associating a user with a computing device.

FIG. 11 is a schematic view of a computing system that may be used asthe gaming system of FIG. 1.

FIG. 12 schematically shows a human target in an observed scene beingmodeled with example skeletal data by the gaming system of FIG. 1.

DETAILED DESCRIPTION

Aspects of this disclosure will now be described by example and withreference to the illustrated embodiments listed above.

FIG. 1 shows an example three-dimensional (3D) interactive space 100 inwhich user 10 is located. FIG. 1 also shows gaming system 12 which mayenable user 10 to interact with a video game. Gaming system 12 may beused to play a variety of different games, play one or more differentmedia types, and/or control or manipulate non-game applications and/oroperating systems. Gaming system 12 may include gaming console 14 anddisplay device 16, which may be used to present game visuals to gameplayers. Gaming system 12 is a type of computing device, the details ofwhich will be discussed with respect to FIG. 11.

Turning back to FIG. 1, 3D interaction space 100 may also include acamera such as capture device 18, which may be coupled to gaming system12. Capture device 18 may be used to observe 3D interaction space 100 bycapturing images. As such, capture device 18 may be used to identifyuser 10 by detecting one or more particular biometric features of user10. For example, capture device 18 may capture images of the user's faceto identify one or more particular face descriptors. In this way, user10 may be recognized by the gaming system, and as such, may beassociated with a corresponding user account.

Traditional facial recognition technology is insufficient in toleratingmicrochanges in a user's face. For example, facial features mayfluctuate slightly in different light, and further, facial features maychange over time. For example, a user's appearance may change over timedue to a different hairstyle, presence/absence of facial hair,presence/absence of glasses, and/or generally as the user ages. In suchcases, a user may not be properly identified and may be prompted torepeatedly pose for a face scan, which may lead to user frustration.

The present disclosure overcomes at least some of these challenges bytolerating microchanges in a user's face. For example, as described indetail below, a user may register a biometric identification accountwhich may include capturing the user's face in different locations anddifferent orientations. In this way, a user's face may be analyzed indifferent lighting conditions, and by capturing different angles of theuser's face from the perspective of the camera.

For example, as shown in FIG. 1, window 20 and/or lamp 22 may affect theway in which the face of user 10 is perceived by capture device 18.Further, the capture device may perceive the face of the userdifferently according to varying facial expressions, such as smiling,laughing, frowning etc. The user blinking may also affect the way inwhich the face of user is perceived by the capture device. Therefore,capture device 18 may be configured to capture a plurality of images ofthe face of the user at a series of different locations and/or in aseries of different orientations. To achieve this, gaming system 12 maybe configured to instruct the user to move to a series of locationsand/or match a series of poses within 3D interaction space 100. Examplesof instructing a user are discussed in greater detail with respect toFIGS. 2-5. Further, an example method for registering a user biometricidentification account is provided in FIG. 7. In addition, a pipelinefor recognizing a human target, creating a depth map, creating a virtualskeleton, and then displaying a virtual avatar, is illustrated in FIG.12. It will be appreciated that the virtual skeleton created in thismanner may be used to identify the poses discussed below, and thelocation and orientation of a body and face of the user.

For a first example, FIG. 2 schematically shows an example virtual space200 at different moments in time (e.g., time t₀, time t₁, and time t₂)that corresponds to FIG. 3, which schematically shows a 3D interactionspace 300. Virtual space 200 may be displayed to user 10 on a displaydevice, and may be used to instruct user 10 within 3D interaction space300, to move to a different location. As such, a camera may capture oneor more images of the user's face at the different location and/or whilethe user is transitioning to the different location. Capturing suchimages may be used to detect one or more face descriptors in differentlighting conditions, for example.

Referring to FIGS. 2 and 3, at time t₀, a user character FIG. 202 isshown at virtual location 204 on 3D map 206, which correlates to user 10at physical location 304. 3D map 206 is shown as a 3×5 grid by way ofexample and is not meant to be limiting. User character FIG. 202provides feedback to user 10, wherein the virtual location of usercharacter FIG. 202 matches the physical location of user 10. The virtuallocation of user character FIG. 202 may match the physical location ofuser 10 in a one-to-one relationship. As such, the user character figurechanges virtual locations in response to the user moving within thephysical environment in real-time.

At time t₁, a visual cue 208 is displayed at a target virtual location210. In this way, visual cue 208 is provided to prompt user 10 to moveto a different location within 3D interaction space 300.

At time t₂, user 10 moves to physical location 310 corresponding totarget virtual location 210. Because user 10 has changed locations bymoving from physical location 304 to physical location 310, usercharacter FIG. 202 is shown at target virtual location 210. In this way,visual cue 208 instructs user 10 to move to a particular physicallocation and user character FIG. 202 tracks the movement of user 10 toprovide real-time feedback.

Visual cue 208 is shown as an illuminated tile on 3D map 206 but it willbe appreciated that other cues are possible without departing from thescope of this disclosure. For example, the visual cue may be an arrowdirecting the user to a new location. As another example, the cue may beaudio such that the user receives verbal instructions, and/or text maybe displayed on the display directing the user to move. Virtually anycue is possible and the above are provided as non-limiting examples.

It will be further appreciated that a user may be advised to move withinthe 3D interaction space without receiving a cue. For example, the usermay be advised to move about the 3D interaction space without beingprompted to move to a particular physical location. In other words, theuser may be asked to move around and the computing system may track themovement of the user. In this way, the user character figure may trackthe movement of the user as the user freely moves within the 3Dinteraction space. Further, the display may include a virtual path thatdisplays to the user where they have moved.

As another example for instructing a user, FIG. 4 schematically shows anexample virtual space 400 at different moments in time (e.g., time t₀,time t₁) that corresponds to FIG. 5, which schematically shows a 3Dinteraction space 500. Virtual space 400 may be displayed to user 10 ona display device, and may be used to instruct user 10 within 3Dinteraction space 500 to match a pose. In this way, user 10 may beinstructed to change to a different orientation so that a camera maycapture one or more images of the user's face at the differentorientation and/or while the user is transitioning to the differentorientation. Capturing such images may be desirable for detecting one ormore face descriptors in different lighting conditions, for example.

Referring to FIGS. 4 and 5, at time t₀, a user character FIG. 402 isshown at virtual location 404 of 3D map 406, which correlates to user 10at physical location 504. As described above, user character FIG. 402provides real-time feedback to user 10. As shown, a pose instructor FIG.408 and a pose movement icon 410 may be included in virtual space 400 toinstruct user 10 to perform the requested pose.

At time t₁, user 10 strikes the requested pose displayed by poseinstructor FIG. 408. Because user 10 has changed orientations, usercharacter FIG. 402 is shown in a corresponding orientation.

It will be appreciated that a user may be instructed to match a posewith the pose instructor figure or the pose movement icon, and as such,displaying both may not be prudent. Further, one or more pose movementicons may be used to prompt the user to adjust their pose when thedetected pose does not match the pose instructor figure within athreshold matching score, for example. As such, the virtual space mayinclude an indication to notify the user that the correct pose has beenperformed Likewise, the user may receive additional instructions and/orindications to adjust the user location as well as the user orientationto within a matching threshold.

As shown in FIGS. 2 and 4, 3D maps 206 and 406 may be a 3×5 grid oftiles, however it will be appreciated that other configurations arepossible. Likewise, FIGS. 3 and 5 show a corresponding 3×5 grid withdashed lines. This illustration is for simplicity of understanding, nottechnical accuracy. It will be appreciated that 3D interaction spaces300 and 500 may not include a grid that is visible to the user, as theyare typically in the home of the user. Although in some embodiments, thegaming system may optionally include a projection device to project agrid within 3D interaction space to further orient and instruct user 10.

It will be appreciated that while the illustrations in FIGS. 2-5 showexamples of instructing a user to move to one location and perform onepose, that the user may be instructed to move to a series of locationsand/or to perform a series of poses. As described above, the series oflocations and/or series of poses enable the capture device to captureimages of the user's face in a variety of different positions and/ordifferent orientations.

For example, a virtual space may include a virtual path to instruct auser within 3D interaction space to follow the virtual path. As such, avisual cue may include an indication to the user to follow the virtualpath which may be displayed within the virtual space. The virtual pathmay include a series of successive virtual locations and/or a series ofposes for the user to follow and/or match within the 3D interactionspace. Further, the virtual space may additionally or alternativelyinclude an aerial view of the virtual space to orient the user along avirtual path, which is provided as a non-limiting example of a visualcue. FIG. 6 shows an example virtual space 600 including an examplevisual cue 610 that may be used to instruct a user to follow a virtualpath. It will be appreciated that visual cue 610 is provided by way ofexample and may include additional or alternative features than thoseshown in FIG. 6 without departing from the scope of this disclosure. Bycapturing images of a user in a series of locations and/or in a seriesof orientations, a user may create a biometric template, thusregistering the user with a biometric identification account.

FIG. 7 illustrates an example method 700 for registering a userbiometric identification account for use with a computing device. At702, the method comprises, instructing a user to move to a series oflocations and/or perform a series of poses within a 3D interactionspace, wherein the 3D interaction space is monitored by a cameraassociated with the computing device.

As introduced above, instructing may include displaying, on a displaydevice, a 3D map within the virtual space. For example, the 3D map mayinclude a series of virtual locations that correspond to a series oflocations in the 3D interaction space. Further, the 3D map may include avisual cue at a target virtual location to prompt the user to move to atarget physical location within the 3D dimensional interaction spacecorresponding to the target virtual location. Additionally, the virtualspace may include a pose movement icon, such as an arrow, proximate tothe user character figure. Additionally or alternatively, the virtualspace may include a pose instructor figure performing a requested pose.In this way, the user may be prompted to move and/or strike a pose.

At 704, method 700 includes capturing, via the camera, a temporalsequence of images of the face of the user at each of the series oflocations. The temporal sequence of images may also be captured whilethe user is performing the requested pose. Further, method 700 mayinclude capturing a temporal sequence of images of the face of the userwhile the user is transitioning between each location and/or pose. Theimages may be captured in color, black and white, or grayscale.

At 706, method 700 includes detecting movement of the user to the targetphysical location within the 3D interaction space by analyzing thecaptured images. In this way, the camera may continuously monitor theuser within the 3D interaction space.

Further, method 700 may include displaying a user character figure inthe virtual space to match the detected movement of the user. The usercharacter figure may be configured such that the movement of the usercharacter figure matches the movement of the user in real-time. In thisway, the user character figure is animated to match a position of theuser within the 3D interaction space at a one-to-one relationship. Forexample, when the user is positioned at the target physical location,the user character figure is positioned at the corresponding targetvirtual location. As such, the position of the user character figured isbased on the detected movement of the user.

Detecting movement of the user may include generating a skeletal modelof the user based on the captured temporal sequence of images, forexample, in the manner described below in relation to FIG. 12. Theskeletal model may track the movements of the user within the 3Dinteraction space. As such, the user character figure may be mapped tothe skeletal model, thus tracking the movements of the user. Therefore,skeletal modeling may include adjusting the configuration and/orposition of the skeletal model to match the detected movement of theuser. Further, a location of the face of the user in each of the imagesmay be determined by making reference to the skeletal model.

The skeletal model may be utilized to determine if the user hasrelocated to the correct target position and/or has matched therequested pose to within a matching threshold. If the user position doesnot match the target position and/or requested pose, the method mayfurther include presenting feedback to the user. For example, if theuser does not perform the requested pose to within the matchingthreshold, the user may be presented with pose feedback requesting thatthe user adjust the pose in a determined manner. The pose movement iconand/or the pose instructor figure may prompt the user to repeat the poseuntil the user matches the requested pose to within the matchingthreshold.

At 708, method 700 includes extracting one or more face descriptors fromeach of the images. For example, face descriptors may be determined byassessing groups of pixels that belong to common epidermal hues.Different groups of pixels may be identified so as to create acharacteristic map of the user's face. It will be appreciated that facedescriptors are biometric measurements of features on a user's face thatmay be utilized, in the aggregate, to identify a user. An example facedescriptor is a distance between the center of the eyes.

By extracting face descriptors from each image of the series oflocations and/or poses, variations in a user's face may be determined.For example, a user moving towards a window may result in more lightbeing cast on the user's face, whereas a user moving away from a windowmay result in less light being cast on the user's face. Likewise, theposition of a user face in relation to a lamp may also contribute tovariations in face descriptors. Put in another way, the location of anobject and/or another user within the 3D interaction space may cast ashadow on the face of the user thereby contributing to variations inface descriptors. In addition, the distance of the user from the cameramay impart variations in detected face descriptors, although thisdistance can in some instances be measured by a depth camera andaccounted for by programmatic logic.

At 710, method 700 includes generating a biometric template compilingthe one or more face descriptors. The biometric template may beconstructed in any suitable way. For example, each descriptor may berepresented by a dot, wherein a cluster of dots may be representative ofall the face descriptors extracted at a particular user face position.In this way, the biometric template may contain more than one cluster ofdots corresponding to more than one user face position. As anotherexample, the face descriptors may be compiled such that they arerepresented by a single geometric shape that defines the user's face ata particular user face position. In this way, the biometric template maycontain more than one geometric shape corresponding to more than oneuser face position. Referring to the previous example, the compiled facedescriptors may be a mosaic including different irregular patchescorresponding to the different epidermal hues. As another example, thecompiled face descriptors may be organized in such a way so as torepresent different facial features, and/or facial shapes.

Generating a biometric template may further include augmenting and/orfiltering the face descriptor data to thereby create a consolidatedbiometric template of the user. In this way, biometric data extractedfrom the images taken from each of the series of locations and/or eachof the series of orientations may be parsed to remove extraneous data.For example, the computing system may extract enough face descriptors toexceed an augmenting threshold and/or a filtering threshold. In suchcases, the computing system may be prompted to augment and/or filter thebiometric data. Augmenting and filtering will be discussed in greaterdetail below with reference to FIG. 8.

At 712, method 700 includes storing the biometric template associatedwith the user in a data store. For example, the biometric template maybe stored locally on a local computing device that belongs to the userand/or remotely at a remote storage location of a gaming serviceaccessible via a computer network such as the Internet, so that the usermay access their account from another computing device.

Method 700 may be implemented by a computing device when a user is firstaccessing the computing device, a feature of the computing device and/ora program of the computing device. In other words, when the user isinitiating a registration phase.

It will be appreciated that method 700 may include additional oralternative steps without departing from the scope of this disclosure.For example, method 700 may include requesting consent from the user toextract biometric features in order to establish a stored biometrictemplate and associate the stored biometric template with a useraccount. Method 700 is provided by way of example to establish a useraccount that may be used to biometrically identify the user during anidentification phase. For example, when the computing device is a gamingdevice, method 700 may be used to establish a user gaming account.

Once a user account has been established, the user may be recognized andlogged into a subsequent gaming session automatically. For example, whena gaming session is initiated, gaming system 12 may be prompted tosearch the 3D interaction space for one or more potential game players.As such, gaming system 12 may be configured to automatically add a gameplayer to a game session when the game player is identified by matchingtheir particular face descriptors to a stored biometric templateassociated with the game player.

FIG. 8 illustrates an example method 800 for identifying a user with anestablished biometric identification account and associating the userwith a computing device. Method 800 is provided so as to be used with acomputing device during a biometric identification phase. For example,when the computing device is a gaming device, the identification phasemay be during game play.

At 802, the method begins with detecting the presence of a potentialuser. For example, a potential user may be detected if the user iswithin a field of view of the capture device. Referring back to FIG. 1,user 10 is shown within a field of view of capture device 18, and thusmay be identified as a potential user. Since spectator 24 is outside thefield of view of capture device 18, spectator 24 may not be recognizedas a potential user. Further, the gaming system may be configured suchthat spectators are ignored based on their orientation. For example, thegaming system may recognize spectators in a sitting position and as suchmay choose to ignore the spectators even if a spectator is within afield of view of the capture device.

In some embodiments, the computing system may recognize a potential userafter receiving input from the user. The input may be captured visuallyby the capture device, for example, as a user intent to engage with acomputing session. For example, the user may perform a gesture, such aswaving a hand, which may be detected by the computing system. Such agesture may be interpreted as a prompt to recognize the user as apotential user. It will be appreciated that a user waving their hand isprovided as a non-limiting example, and other gestures and/or othertypes of user input are possible.

Turning back to FIG. 8, at 804, the method includes capturing one ormore images of the face of the user. Unlike the registration phasedescribed above, the identification phase may not instruct the user toassume a particular position or strike a particular pose.

At 806, the method includes extracting face descriptors of the user fromthe images captured of the user's face. As described above, facedescriptors may be extracted from one or more of the capture images andeach descriptor may be associated with a group of pixels that have acommon epidermal hue, which is provided as one non-limiting example.Further, each face descriptor may be saved as a dot on a data plot,wherein a cluster of dots includes a respective number of facedescriptors.

At 808, the method includes identifying the user by matching theextracted face descriptors of the user to a stored biometric templateassociated with a user account. For example, a match may be determinedif the detected face descriptors match the face descriptors of thestored biometric template within a threshold matching score.

At 810, the method includes associating the user with their useraccount. It will be appreciated that a user may have more than one useraccount wherein each account may be linked to different programs, games,and/or applications according to the user's account settings. The usermay customize their account settings to control access to features onthe computing device. Such features may be controlled depending onwhether the user has accessed their account from a local computingdevice or from a remote computing device. An example method foraccessing a local account versus a remote account will be discussedgreater detail below with respect to FIG. 9.

Turning back to FIG. 8, at 812, the method includes augmenting thestored biometric template of the user with updated face descriptors. Forexample, the detected face descriptors may be added to the storedbiometric template such that the user has more than one stored biometrictemplate. As another example, the detected face descriptors may bemerged with the face descriptors of the stored biometric template tothereby maintain a single biometric template with updated data. In thisway, the stored biometric template may account for changes in the user'sface over time. The stored biometric template may be updated on eachlogin of the user. As another example, the stored biometric template maybe updated at predetermined intervals and/or when the detected facedescriptors vary from the stored face descriptors by a predeterminedthreshold.

At 814, method 800 may optionally include filtering the biometrictemplate to remove outlying face descriptors. In this way, the storedbiometric template may be updated by generating a consolidatedrepresentation of the user over time. Using the cluster example fromabove, filtering may include removing dots that reside substantiallyoutside of the cluster.

At 816, the method includes allowing the user access to a currentsession on the computing device. For example, the user may gain accessto a program on the computing device. As another example, when thecomputing device is a gaming device, a game player may be associatedwith a current gaming session.

It will be appreciated that method 800 may include additional oralternative steps without departing from the scope of this disclosure.Method 800 is provided by way of example to biometrically identify auser with an established a user account. For example, when the computingdevice is a gaming device, method 800 may be used to associate a gameplayer with a user gaming account.

Continuing with the gaming system as an example, it will be appreciatedthat a game player may be added to an ongoing game play session at anytime. It will also be appreciated that more than one game player may beadded to the ongoing game play session using biometric identification.Referring back to FIG. 1, 3D interaction space 100 may include more thanone potential user. For example, user 10 may have already beenassociated with a current gaming session. User 28 may be recognized as apotential user as user 28 walks into 3D interaction space 100 and thusinto the field of view of capture device 18. As such, user 28 may beidentified with an established biometric identification account andassociated with the current gaming session. As another example, user 28may not be detected as a potential user until user 28 waves at capturedevice 18, as described above.

It will also be appreciated that a game player may be added to theongoing game play session even if the game player does not have anestablished biometric account. Such circumstances are discussed ingreater detail below with reference to FIG. 9.

Further, method 800 may occur automatically without displaying anyindication on the display that method 800 is being implemented by thegaming device. In this way, a game player may have a magical gamingexperience, wherein, when the game player walks into the room during anongoing gaming session, the game player may be automatically identifiedand added to the session without interrupting the current gamingsession. As such, a game player is seamlessly incorporated into thegaming session, thus enriching the interactive gaming experience.

In some embodiments, the association of the game player with a currentgaming session may include an indication that the game player has beenadded. For example, the indication may be visual, audio, or both. As anon-limiting example, when a game player is represented in a gamingsession by an avatar associated with the game player profile, the avatarmay be displayed as a visual indication that the game player has beenadded. In this way, the avatar is seamlessly incorporated into thegaming session.

It will be appreciated that a user account may include information inaddition to the user's stored biometric template. For example, a usermay create a profile that may catalogue the user's likes and dislikes.Such information may be incorporated into a program on the computingdevice when the user is recognized. For example, a family of four may bewithin a field of view of a camera associated with the computing device.Each family member may be recognized by the computing system, throughbiometric identification. The computing system may then sift through theprofiles of each family member to suggest a list of movies stored withina library that is compatible with one or more movie preferencesassociated with each family member's profile. As another example, thecomputing system may be configured to provide a list of moviesuggestions that accommodates the preferences of all family membersinteracting with the computing system. In this way, a family of four mayquickly select a movie to watch that they may all enjoy.

It will be appreciated that a user may control account preferences thatmay impart varying levels of security, and as such the computing devicemay request additional authorization steps, such as detecting the seconduser authentication mechanism, prior to adding a user to a session. Forexample, user 10 may desire different levels of security for logginginto a session on their local device as opposed to logging into a remotedevice. For example, gaming system 12 may recognize the face descriptorsof user 10 and associate user 10 with their account, but may request apassword prior to adding user 10 to the current gaming session. Asanother example, a user may customize their account settings to requestadditional authorization steps, such as detecting the second userauthentication mechanism, when the user wants to make a purchase usingtheir biometric identification account.

As one example, FIG. 9 illustrates a method 900 for associating a userwith a computing device based on a location of a stored biometrictemplate. Method 900 is to be implemented by a computing device and maybe used for controlling access to features of the computing device basedupon whether a user account is stored on a local computing device or aremote computing device, such as a server.

At 902, the method includes performing a matching operation to match theface descriptors of the user to a stored biometric template. Forexample, a matching operation may include aligning a cluster of detectedface descriptors with a cluster of face descriptors from a storedbiometric template. As described above, a match may be determined withina predetermined threshold matching score.

At 904, the method includes determining if the stored biometric templateis stored locally. For example, the stored biometric template may bestored on a local device, such as a home computing system. The homecomputing system may be configured to enable searching a local datastore for a stored biometric template. The local data store may be partof the home computing system. If the answer to 904 is yes and a matchinglocal biometric template is found stored in the local data store, themethod proceeds to 906.

At 906, the user is associated with a local user account associated withthe matching local biometric template, and the method proceeds to 908.At 908, the method includes allowing the user access to a program on thecomputing device using the local user account, as described above.

If the answer to 904 is no, the method proceeds to 910. At 910, themethod includes determining if the stored biometric template is storedremotely. For example, the stored biometric template may be stored on aremote server, which may be networked with a computing system. Thecomputing system may be configured to enable searching a remote datastore for a matching stored biometric template on the remote server. Ifthe answer to 910 is no, the method proceeds to 912 and includes denyingthe user access to the program via a stored user account.

If the answer to 910 is yes, and a matching remote biometric template isfound, then the method proceeds to 914. At 914, the method includesdetecting a second user authentication mechanism. As such, the computingsystem may be configured to request a second form of user authenticationbased on a remote profile associated with the user. The second form ofauthentication may be customizable by the user. For example, ageographical location of the user may be selected as a second form ofauthentication. In such circumstances, the computing system may requestconsent from the user to release user data, such as user location, inorder to satisfy the second form of authentication, such as determiningthe geographical location of a user. As another example, the second userauthentication mechanism may include detecting a presence of a wirelesssignal characteristic of a mobile device known to be owned by the userLikewise, the computing system may request consent from the user torelease data associated with detecting the wireless signal of a mobiledevice associated with the user. Further, the user may be logged inunder their user account on any device, and if the device is within apredetermined threshold range, may be used as another form of secondaryuser authentication. As another example, the user may be prompted toenter or speak a passphrase to further identify the user.

At 916, the method includes determining if the second userauthentication mechanism has been satisfied. If the answer to 916 isyes, the method proceeds to 918. Using the above examples, if the gamingsystem detects the user in a known geographical location (or within athreshold distance), or detects a mobile device associated with theuser, or receives a correct passphrase, then the second userauthentication mechanism is satisfied.

At 918 the user is associated with a remote user account associated withthe matching remote biometric template, and the method proceeds to 908.At 908, the method includes allowing access to the program on thecomputing device using the remote user account.

If the answer to 916 is no, the method proceeds to 912 and the user isdenied access to the program through a stored user account. However itwill be appreciated that in such circumstances the user may be added toa gaming session under a guest profile, for example. In someembodiments, the guest may optionally initiate a biometricidentification registration at the completion of a gaming session. Forexample, the computing system may be configured to display an indicationto the guest to optionally create a profile. Such an indication mayoccur at any time during the session. For example, the gaming sessionmay be optionally paused to allow the guest to register a profile whichmay include biometric information. As another example, the gamingsession may display an indication at the cessation of a gaming sessionto allow the guest to register a profile.

As illustrated in the example method 900, the computing system may beconfigured to first search the local device which may include biometrictemplates associated with one or more user profiles. When a local matchis found the user is quickly associated with the system, else the systemcontinues to search for a match remotely.

The computing device may be configured to search a remote server as asecond option because the remote server may include biometric templatesassociated with significantly more users. However, method 900 mayinclude additional or alternative steps that may increase the efficiencyof searching the remote server by including various search constraints.For example, searching may be constrained geographically and/orsocially. In this way, a user may establish a group of friends that theycommonly interact with, and thus a group of computing devices that theuser often accesses. As another non-limiting example, a user may speak anon-secret passphrase that drastically reduces the set of candidatesfrom which the detected face descriptors may be matched to. Further, auser may be recognized by their voice-print in addition to their facedescriptors.

Although above it is described that the local data store is searchedfirst, it will be appreciated that the computing system may beconfigured to search either the local data store or the remote datastore, for example based on user preferences or connectivity of thelocal device, or may search the both local and remote data storesconcurrently.

As another option, the method may include searching a remote data storefor the stored biometric template, and if a plurality of matching remotebiometric templates are found, then filtering the plurality of matchingremote biometric templates to one matching remote biometric templatebased on a determination that a second user authentication mechanism issatisfied, and then allowing access to the program using a remote useraccount associated with the matching remote biometric template, else,denying access to the program via a stored user account.

As described above, optionally including additional forms ofauthentication may impart different levels of security associated with auser account. The user may customize the security of their accountaccording to the type of session that the account is associated with. Inother words, the customizing options may be implemented regardless ofwhether the biometric template is stored locally or remotely.

For example, FIG. 10 illustrates an example method 1000 for associatinga user with a computing device based upon an access level. For example,the access level may be a security level and may be customizable by theuser according to the type of program, application, game, device etc.that the user desires to access with their user account. For example, auser may establish a low access level for a movie selection program, andmay establish a high access level for a media purchasing program. Itwill be appreciated that any access level corresponding to any securitylevel, may be established for virtually any program, application, game,device etc. In this way, a user may customize their account settingswith account access preferences.

As illustrated in FIG. 10, method 1000 begins at 1002, the methodcomprising extracting face descriptors from one or more images of auser. As described above, face descriptors may be extracted after a userhas been identified as a potential user.

At 1004, method 1000 includes sending information to a remote server.For example, information may include the extracted face descriptors,information pertaining to the type of program, application, game, etc.that the user is trying to access, and/or information pertaining to thetype of device that the user is trying to associate with. Theinformation sent to the remote server may be provided so as to determinewhat type of authentication protocol to follow in order to associate theuser with the current session on the computing device, once the user isidentified.

At 1006, method 1000 includes performing a matching operation. Asdescribed above, the matching operation may include matching theextracted face descriptors to a stored biometric template, wherein thebiometric template may be stored locally and/or remotely. In the case ofa biometric template being stored remotely, the stored biometrictemplate may be one of a plurality of biometric templates stored on theremote server.

At 1008, method 1000 includes determining if the extracted facedescriptors match a stored biometric template. If the answer to 1008 isno, the method proceeds to 1010.

At 1010, the method includes reducing the set of potential matches. Forexample, the number of potential matches may be reduced by performingone or more sorting mechanisms. As one example, a sorting mechanism mayinclude reducing the number of potential matches by sorting thepotential matches based on geographical, social, and/or other criteriathat may help to further identify the user and associate the user withtheir user account. As another example, a sorting mechanism may includerequesting input from the user to further authenticate the user. Inputmay include a second form of authentication such as the presence of amobile device, a passphrase, voiceprint, etc., as described above. Suchsorting mechanisms may reduce the number of potential matches in orderto more efficiently associate a user with their user account.

It will be appreciated that the user may receive an indication to selecttheir account from a reduced list of potential matches. For example, theuser may receive, via the display device, a list of profile picturesassociated with the reduced list of potential matches. The user may beasked to select the profile picture associated with their account. Insuch circumstances, the user may be prompted to enter a secretpassphrase to verify the identity of the user before associating theuser with the selected user account. It will be appreciated that a listof potential profile pictures is provided by way of example and thatother indications are possible without departing from the scope of thisdisclosure.

Turning back to FIG. 10, if the answer to 1008 is yes, the methodproceeds to 1012. For example, the method may proceed to 1012 if a matchis determined on the first attempt. As another example, the match may bedetermined after one or more sorting mechanisms, as described above.Further, a match may be determined when the extracted face descriptorsmatch a stored biometric template within a predetermined thresholdmatching score, as described above.

At 1012, method 1000 includes determining an access level associatedwith the user account. Using the examples provided above, if a user isattempting to associate their user account with a movie selectionprogram, the user account preferences may determine that the accesslevel is a low security level. As another example, if the user isattempting to associate their user account with a media purchasingprogram, the user account preferences may determine that the accesslevel is a high security level.

As described above, the particular access level is customizable by theuser. Therefore, once a user has been matched to their user account, theaccess level is determined by the user account settings. The useraccount settings may be defined during a registration phase and/or atany time when the user is logged into their account, for example. Asanother example, a program, application, game, and/or device may beassociated with a default access level until the user defines theirparticular account settings. Further still, the user may receive anindication requesting their consent to use the default access level orestablish account settings.

At 1014, method 1000 includes determining if the access level requestsadditional authentication to identify the user. If the answer to 1014 isno, method 1000 proceeds to 1016 and the user is associated with theprogram on the computing device via their user account. For example, ifthe user is attempting to associate their user account with a movieselection program, which may correspond to a low security access level,association with the program may not include authentication beyondmatching the extracted face descriptors to the stored biometrictemplate. If the answer to 1014 is yes, method 1000 proceeds to 1018.

At 1018, method 1000 includes authenticating the user with one or moreadditional mechanisms. For example, if the user is attempting toassociate their user account with a media purchasing program, which maycorrespond to a high security access level, association with the programmay include authentication in addition to matching the extracted facedescriptors to the stored biometric template. As described above,additional forms of authentication may include input received from theuser, such as a passphrase, voiceprint, wireless signal from a mobiledevice, etc. It will be appreciated, that depending on the access level,association with a particular program may include more than oneadditional authentication mechanism.

At 1020, method 1000 includes determining if the one or more additionalauthentication mechanisms have been satisfied. If the answer to 1020 isyes, the method proceeds to 1016 and the user is associated with theprogram on the computing device via their user account. If the answer to1020 is no, the method proceeds to 1022 and the user is denied access tothe program on the computing device via a user account. It will beappreciated however, that the user may still be associated with theprogram but without a user account. For example, the user may beassociated with the program as a guest, as described above.

It will be appreciated that method 1000 is provided by way of exampleand may include additional or alternative steps than those provided inFIG. 10. Method 1000 is an example for associating a user with a currentsession on a computing device via a user account based upon an accesslevel. As described above, the access level may be a security-type leveland may be customizable by receiving input from the user thatestablishes user account settings.

The above described methods and processes enable a user to be identifiedby a computing device based on the user's detected face descriptors. Bycreating a biometric template of the user that compiles face descriptorsanalyzed from various locations and various orientations, a more robustbiometric template associated with the user can be generated. In thisway, the face of a user may be identified in virtually any suitablelighting condition from virtually any angle. Further, since the abovemethods include augmenting the stored biometric template of the userover time, the biometric template ages with the user. In other words,the biometric template changes as the user's appearance changes.Additionally, a user may access their account remotely so that they mayenjoy, for example, a gaming experience at a friend's house. In thisway, a user's face may be identified in varying environments. Underthese circumstances, a user may enjoy a magical computing experiencewherein their user profile is seamlessly integrated with a computingsession automatically.

In some embodiments, the above described methods and processes may betied to a computing system including one or more computers. Inparticular, the methods and processes described herein may beimplemented as a computer application, computer service, computer API,computer library, and/or other computer program product.

FIG. 11 schematically shows a non-limiting computing system 1100 thatmay perform one or more of the above described methods and processes.Computing system 1100 is shown in simplified form. It is to beunderstood that virtually any computer architecture may be used withoutdeparting from the scope of this disclosure. In different embodiments,computing system 1100 may take the form of a mainframe computer, servercomputer, desktop computer, laptop computer, tablet computer, homeentertainment computer, network computing device, mobile computingdevice, mobile communication device, gaming device, etc.

Computing system 1100 includes a logic subsystem 1102 and a data-holdingsubsystem 1104. Computing system 1100 may optionally include a displaysubsystem 1106, communication subsystem 1108, capture device 1110 and/orother components not shown in FIG. 11. Computing system 1100 may alsooptionally include user input devices such as keyboards, mice, gamecontrollers, cameras, microphones, and/or touch screens, for example.

Logic subsystem 1102 may include one or more physical devices configuredto execute one or more instructions. For example, the logic subsystemmay be configured to execute one or more instructions that are part ofone or more applications, services, programs, routines, libraries,objects, components, data structures, or other logical constructs. Suchinstructions may be implemented to perform a task, implement a datatype, transform the state of one or more devices, or otherwise arrive ata desired result. For example, logic subsystem 1102 may be configured toexecute instructions that enable biometric identification, as describedabove.

The logic subsystem may include one or more processors that areconfigured to execute software instructions. Additionally oralternatively, the logic subsystem may include one or more hardware orfirmware logic machines configured to execute hardware or firmwareinstructions. Processors of the logic subsystem may be single core ormulticore, and the programs executed thereon may be configured forparallel or distributed processing. The logic subsystem may optionallyinclude individual components that are distributed throughout two ormore devices, which may be remotely located and/or configured forcoordinated processing. One or more aspects of the logic subsystem maybe virtualized and executed by remotely accessible networked computingdevices configured in a cloud computing configuration.

Data-holding subsystem 1104 may include one or more physical,non-transitory, devices configured to hold data and/or instructionsexecutable by the logic subsystem to implement the herein describedmethods and processes. As shown, data-holding subsystem 1104 may includea biometric recognition program that holds instructions for registeringa user for biometric recognition and/or identifying a user by matchingthe user to a biometric template, which may be stored in data-holdingsubsystem 1104, as shown and described above. A user biometric templatemay also be stored on gaming server 1114 connected to the computingsystem via a network, which will be discussed in greater detail below.

Data-holding subsystem 1104 may be transformed (e.g., to hold differentdata) when methods and processes are implemented. For example, one ormore biometric templates representing one or more users may be augmentedupon each user login, as described above. In this way, the state ofdata-holding subsystem 1104 may be transformed to update the userbiometric template.

Data-holding subsystem 1104 may include removable media and/or built-indevices. Data-holding subsystem 1104 may include optical memory devices(e.g., CD, DVD, HD-DVD, Blu-Ray Disc, etc.), semiconductor memorydevices (e.g., RAM, EPROM, EEPROM, etc.) and/or magnetic memory devices(e.g., hard disk drive, floppy disk drive, tape drive, MRAM, etc.),among others. Data-holding subsystem 1104 may include devices with oneor more of the following characteristics: volatile, nonvolatile,dynamic, static, read/write, read-only, random access, sequentialaccess, location addressable, file addressable, and content addressable.In some embodiments, logic subsystem 1102 and data-holding subsystem1104 may be integrated into one or more common devices, such as anapplication specific integrated circuit or a system on a chip.

FIG. 11 also shows an aspect of the data-holding subsystem in the formof removable computer-readable storage media 1112 which may be used tostore and/or transfer data and/or instructions executable to implementthe herein described biometric recognition methods. Removablecomputer-readable storage media 1112 may hold instructions for aparticular video game, for example, and may take the form of CDs, DVDs,HD-DVDs, Blu-Ray Discs, EEPROMs, and/or floppy disks, among others.

It is to be appreciated that data-holding subsystem 1104 includes one ormore physical, non-transitory devices. In contrast, in some embodimentsaspects of the instructions described herein may be propagated in atransitory fashion by a pure signal (e.g., an electromagnetic signal, anoptical signal, etc.) that is not held by a physical device for at leasta finite duration. Furthermore, data and/or other forms of informationpertaining to the present disclosure may be propagated by a pure signal.

The terms “module,” “program,” and “engine” may be used to describe anaspect of computing system 1100 that is implemented to perform one ormore particular functions. In some cases, such a module, program, orengine may be instantiated via logic subsystem 1102 executinginstructions held by data-holding subsystem 1104. It is to be understoodthat different modules, programs, and/or engines may be instantiatedfrom the same application, service, code block, object, library,routine, API, function, etc. Likewise, the same module, program, and/orengine may be instantiated by different applications, services, codeblocks, objects, routines, APIs, functions, etc. The terms “module,”“program,” and “engine” are meant to encompass individual or groups ofexecutable files, data files, libraries, drivers, scripts, databaserecords, etc.

It is to be appreciated that a “service”, as used herein, may be anapplication program executable across multiple user sessions andavailable to one or more system components, programs, and/or otherservices. In some implementations, a service may run on a serverresponsive to a request from a client.

When included, display subsystem 1106 may be used to present a visualrepresentation of data held by data-holding subsystem 1104. For example,display subsystem 1106 may present a virtual space to a game player, asdescribed above. As the herein described methods and processes changethe data held by the data-holding subsystem, and thus transform thestate of the data-holding subsystem, the state of display subsystem 1106may likewise be transformed to visually represent changes in theunderlying data. Display subsystem 1106 may include one or more displaydevices utilizing virtually any type of technology. Such display devicesmay be combined with logic subsystem 1102 and/or data-holding subsystem1104 in a shared enclosure, or such display devices may be peripheraldisplay devices.

When included, communication subsystem 1108 may be configured tocommunicatively couple computing system 1100 with one or more othercomputing devices. For example, communication subsystem 1108 may enablea gaming device to connect with a remote gaming server 1114 to allowuser access to a remote biometric template, as described above.Communication subsystem 1108 may include wired and/or wirelesscommunication devices compatible with one or more differentcommunication protocols. As non-limiting examples, the communicationsubsystem may be configured for communication via a wireless telephonenetwork, a wireless local area network, a wired local area network, awireless wide area network, a wired wide area network, etc. In someembodiments, the communication subsystem may allow computing system 1100to send and/or receive messages to and/or from other devices via anetwork such as the Internet.

Computing system 1100 may include one or more capture devices 1110configured to obtain information about the 3D interaction space. The oneor more capture devices 1110 may be configured to obtain informationoptically and in real time. For example, the one or more capture devices1110 may comprise a depth camera configured to obtain one or more depthimages of the 3D interaction space, which will be discussed in greaterdetail with reference to FIG. 12. One or more capture devices 1110 maybe placed at different positions within the 3D interaction space, and assuch, may be wirelessly linked to computing system 1100. The one or morecapture devices 1110 may be configured to obtain information regardingthe position and/or orientation of a user's face. Further, the one ormore capture devices 1110 may capture images of the user's face in aseries of locations and/or in a series of poses. In this way, the one ormore capture devices may detect variations in the user's face that mayoccur due to varying light conditions.

Additionally or alternatively, computing system 1100 may be operativelycoupled to one or more infrared cameras, thermal imaging cameras, laserrange finders, time of flight cameras, and/or structured light 3Dscanners. Such technologies may be directly coupled and/or remotelylinked to computing system 1100. For example, one or more infraredcameras may be operatively coupled to computing system 1100 to captureimages of the face of a user in low light conditions within the 3Dinteraction space.

FIG. 12 shows a simplified processing pipeline in which game player 1210in 3D interaction space 1200 is modeled as a virtual skeleton that canbe used to draw a virtual avatar on display device 1216 and/or serve asa control input for controlling other aspects of a game, application,and/or operating system. It will be appreciated that a processingpipeline may include additional steps and/or alternative steps to thosedepicted in FIG. 12 without departing from the scope of this disclosure.

As shown in FIG. 12, game player 1210 and the rest of 3D interactionspace 1200 may be imaged by a capture device such as depth camera 1218.The depth camera may determine, for each pixel, the depth of a surfacein the observed scene relative to the depth camera. Virtually any depthfinding technology may be used without departing from the scope of thisdisclosure.

The depth information determined for each pixel may be used to generatea depth map. Such a depth map may take the form of virtually anysuitable data structure, including but not limited to a matrix thatincludes a depth value for each pixel of the observed scene. In FIG. 12,the depth map is schematically illustrated as a pixelated grid of thesilhouette of game player 1210. This illustration is simplified for easeof understanding. It is to be understood that a depth map generallyincludes depth information for all pixels, not just pixels that imagethe game player 1210, and that the perspective of depth camera 1218would not result in the silhouette depicted in FIG. 12.

A virtual skeleton may be derived from the depth map to provide amachine readable representation of game player 1210. In other words, thevirtual skeleton is derived from the depth map to model game player1210. The virtual skeleton may be derived from the depth map in anysuitable manner. In some embodiments, one or more skeletal fittingalgorithms may be applied to the depth map. The present disclosure iscompatible with virtually any skeletal modeling techniques.

The virtual skeleton may include a plurality of joints, each jointcorresponding to a portion of the game player. In FIG. 12, the virtualskeleton is illustrated as a fifteen-joint stick figure. Thisillustration is simplified for ease of understanding. Virtual skeletonsin accordance with the present disclosure may include virtually anynumber of joints, each of which can be associated with virtually anynumber of parameters (e.g., three dimensional joint position, jointrotation, body posture of corresponding body part (e.g., hand open, handclosed, etc.) etc.). It is to be understood that a virtual skeleton maytake the form of a data structure including one or more parameters foreach of a plurality of skeletal joints (e.g., a joint matrix includingan x position, a y position, a z position, and a rotation for eachjoint). In some embodiments, other types of virtual skeletons may beused (e.g., a wireframe, a set of shape primitives, etc.).

As shown in FIG. 12, a virtual avatar may be rendered on display device1216 as a visual representation of the virtual skeleton. Because thevirtual skeleton models game player 1210, and the rendering of thevirtual avatar is based on the virtual skeleton, the virtual avatarserves as a viewable digital representation of the game player 1210. Assuch, movement of the virtual avatar on display device 1216 reflects themovements of game player 1210.

In some embodiments, only portions of a virtual avatar will be presentedon display device 1216. As one non-limiting example, display device 1216may present a first person perspective to game player 1210 and maytherefore present the portions of the virtual avatar that could beviewed through the virtual eyes of the virtual avatar (e.g.,outstretched hands holding a steering wheel, outstretched arms holding arifle, outstretched hands grabbing a virtual object in athree-dimensional virtual world, etc.).

While the virtual avatar is used as an example aspect of a game that maybe controlled by the movements of a game player via the skeletalmodeling of a depth map, this is not intended to be limiting. A gameplayer may be modeled with a virtual skeleton, and the virtual skeletoncan be used to control aspects of a game or other application other thana virtual avatar. For example, the movement of a game player can controla game or other application even if a virtual avatar is not rendered tothe display device.

It is to be understood that the configurations and/or approachesdescribed herein are exemplary in nature, and that these specificembodiments or examples are not to be considered in a limiting sense,because numerous variations are possible. The specific routines ormethods described herein may represent one or more of any number ofprocessing strategies. As such, various acts illustrated may beperformed in the sequence illustrated, in other sequences, in parallel,or in some cases omitted. Likewise, the order of the above-describedprocesses may be changed.

The subject matter of the present disclosure includes all novel andnonobvious combinations and subcombinations of the various processes,systems and configurations, and other features, functions, acts, and/orproperties disclosed herein, as well as any and all equivalents thereof.

1. A method for biometric identification for use with a computingdevice, the method comprising: capturing via a camera a temporalsequence of images of a face of a user at each of a series of locationswithin a three-dimensional interaction space monitored by a cameraassociated with a computing device; extracting one or more facedescriptors from the images; generating a biometric template compilingthe one or more face descriptors; and storing the biometric template ofthe user in a data store.
 2. The method of claim 1, further comprisinginstructing a user to move to the series of locations within thethree-dimensional interaction space.
 3. The method of claim 2, whereininstructing includes: displaying on a display device associated with thecomputing device a three-dimensional map within a virtual space, thethree-dimensional map including a series of virtual locations thatcorrespond to the series of locations in the three-dimensionalinteraction space; and displaying a visual cue at a target virtuallocation within the three-dimensional map, to prompt the user to move toa target physical location within the three-dimensional interactionspace corresponding to the target virtual location.
 4. The method ofclaim 3, wherein instructing includes displaying a user character figurein the virtual space animated to match a position of the user within thethree-dimensional interaction space as the user moves.
 5. The method ofclaim 4, further comprising detecting movement of the user to the targetphysical location in the three-dimensional interaction space byanalyzing the captured images; and displaying the user character figureat a target virtual location based on the detected movement.
 6. Themethod of claim 5, wherein detecting movement includes generating askeletal model of the user based on the captured temporal sequence ofimages; and adjusting the configuration and position of the skeletalmodel to match the detected movement of the user.
 7. The method of claim6, wherein a location of the face of the user in each of the images isdetermined by making reference to the skeletal model.
 8. The method ofclaim 2, wherein instructing further includes displaying a pose movementicon proximate to the user character figure and/or displaying a poseinstructor figure performing a requested pose.
 9. The method of claim 8,further comprising: wherein the temporal sequence of images for alocation is captured while the user is performing the pose.
 10. Themethod of claim 9, further comprising: determining that the user has notmatched the requested pose to within a matching threshold; andpresenting pose feedback to the user requesting that the user adjust thepose in a determined manner.
 11. The method of claim 1, furthercomprising: during an identification phase, identifying the user bymatching the detected face descriptors of the user to a stored biometrictemplate associated with a user account, wherein a match is determinedwithin a threshold matching score; and associating the user account withthe user in a current session on the computing device.
 12. The method ofclaim 11, further comprising: on each login of the user, augmenting thebiometric template of the user with updated face descriptors, to accountfor changes in the user's face over time.
 13. The method of claim 12,further comprising: filtering the biometric template to remove outlyingface descriptors thereby generating a consolidated representation of theuser over time.
 14. The method of claim 11, further comprising:controlling access to features of the computing device based uponwhether the matched biometric template is for a user account stored on alocal computing device or for a user account stored on a remote server,by requesting a second form of user authentication based on a remoteprofile, wherein the second form of user authentication is customizableby receiving input from the user.
 15. The method of claim 11, whereinthe computing device is a gaming device, and the identification phase isduring game play.
 16. A method for associating a user with a computingdevice, the method comprising: identifying face descriptors of a userfrom images captured of the user's face; performing a matching operationto match the face descriptors of the user to a stored biometrictemplate; searching a local data store for a stored biometric template,and if a matching local biometric template is found stored in the localdata store of the computing device, then allowing access to a programusing a local user account associated with the matching local biometrictemplate, or searching a remote data store for the stored biometrictemplate, and if a matching remote biometric template is found, thendetermining whether a second user authentication mechanism is satisfied,and if so, then allowing access to the program using a remote useraccount associated with the matching remote biometric template, else,denying access to the program via a stored user account, or searching aremote data store for the stored biometric template, and if a pluralityof matching remote biometric templates are found, then filtering theplurality of matching remote biometric templates to one matching remotebiometric template based on a determination that a second userauthentication mechanism is satisfied, and then allowing access to theprogram using a remote user account associated with the matching remotebiometric template, else, denying access to the program via a storeduser account.
 17. The method of claim 16, wherein the second userauthentication mechanism is detecting a geographical location of theuser and determining that the detected geographical location matches aknown location for the user.
 18. The method of claim 16, wherein thesecond user authentication mechanism is detecting a presence of awireless signal characteristic of a mobile device known to be associatedwith the user, the association based upon receiving input from the userthat identifies the mobile device with the user.
 19. The method of claim16, wherein the stored biometric template associated with the user isupdated with each user login by augmenting the biometric template of theuser with updated face descriptors, to account for changes in the user'sface over time.
 20. A method for biometric identification for use with acomputing device, the method comprising: instructing a user to move to aseries of locations within a three-dimensional interaction spacemonitored by a camera associated with a computing device; capturing viathe camera a temporal sequence of images of the face of the user at eachof the series of locations; extracting one or more face descriptors fromthe images; generating a biometric template compiling the one or moreface descriptors; storing the biometric template of the user in a datastore; during an identification phase, identifying the user by matchingthe detected face descriptors of the user to a stored biometric templateassociated with a user account, wherein a match is determined within athreshold matching score; and augmenting the biometric template of theuser on each login of the user, with updated face descriptors, toaccount for changes in the user's face over time; filtering thebiometric template to remove outlying face descriptors therebygenerating a consolidated representation of the user over time; andassociating the user account with the user in a current session on thecomputing device.